﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Arthus
{
    public partial class izborStampeFinansijskihNaloga : Form
    {
        public izborStampeFinansijskihNaloga()
        {
            InitializeComponent();
            dateTimePickerOdDatuma.Value = System.DateTime.Now;
            dateTimePickerDoDatuma.Value = System.DateTime.Now;
        }
        VrstaNaloga vrstaNalogaObjekat = null;
        private void izborStampeFinansijskihNaloga_Load(object sender, EventArgs e)
        {
            vrstaNalogaObjekat = new VrstaNaloga();
            vrstaNalogaObjekat.PopuniCheckBoxList(checkedListBoxIzborVrsteNaloga);
            checkedListBoxIzborVrsteNaloga.ColumnWidth = mkStrWidth(checkedListBoxIzborVrsteNaloga) + 20;
        }
        FIN finObjekat = null;
        stampanjeFINNalogaViseForma stampanjeFINNalogaViseFormaObjekat = null;
        private int mkStrWidth(CheckedListBox clb)
        {
            Font fnt = new Font("Microsoft Sans Serif", 8.25F);
            int result = 0;
            foreach (string str in clb.Items)
            {
                int width = TextRenderer.MeasureText(str, fnt).Width;
                if (width > result)
                {
                    result = width;
                }
            }
            return result;
        }

        private void buttonZatvori_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void buttonStampa_Click(object sender, EventArgs e)
        {
            finObjekat = new FIN();
            if (finObjekat.nizFINovaZaStampanjeViseFINnaloga(dateTimePickerOdDatuma,
                dateTimePickerDoDatuma, checkedListBoxIzborVrsteNaloga).Count() > 0)
            {
                String[] nizIzabranihNaloga = new String[checkedListBoxIzborVrsteNaloga.CheckedItems.Count];
                for (int i = 0; i < checkedListBoxIzborVrsteNaloga.CheckedItems.Count; i++)
                {
                    nizIzabranihNaloga[i] = Razno.IseciStringDoIzabranogChara(checkedListBoxIzborVrsteNaloga.CheckedItems[i].ToString(), ' ');
                }
                this.Cursor = Cursors.WaitCursor;
                stampanjeFINNalogaViseFormaObjekat = new stampanjeFINNalogaViseForma(finObjekat.nizFINovaZaStampanjeViseFINnaloga(dateTimePickerOdDatuma,
                    dateTimePickerDoDatuma, checkedListBoxIzborVrsteNaloga), dateTimePickerOdDatuma.Value.Date.ToString("dd.MM.yyyy"),
                    dateTimePickerDoDatuma.Value.Date.ToString("dd.MM.yyyy"), nizIzabranihNaloga);
                stampanjeFINNalogaViseFormaObjekat.ShowDialog();
                this.Cursor = Cursors.Default;
            }
            else {
                MessageBox.Show("Nema takvih naloga!");
                dateTimePickerOdDatuma.Focus();
            }
        }

        private void dateTimePickerOdDatuma_ValueChanged(object sender, EventArgs e)
        {
            dateTimePickerDoDatuma.Value = dateTimePickerOdDatuma.Value;
        }
    }
}
